package com.tbit.uqbike.webmanager.business.maintain_performance.object.dto.stat;

import com.alibaba.fastjson.annotation.JSONField;
import com.tbit.uqbike.annos.Excel;
import com.tbit.uqbike.webmanager.business.maintain_performance.constant.PerformanceExportField;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author <a href="mailto:zheng.zebiao@tbit.com.cn">zb</a>
 * @since 2025/2/24
 */
@Data
public class PowerChangePerformanceDetail {
    /**
     * 记录id
     */
    private Long performanceId;
    /**
     * 换电记录id
     */
    private Integer powerChangeLogId;

    /**
     * 绩效系数
     */
    @Excel(name = "绩效系数", sort = 13)
    private BigDecimal performance;

    /**
     * 绩效详情
     */
    @Excel(name = "绩效详情", sort = 14, conditionBit = PerformanceExportField.PowerChange.performanceDetail)
    private String performanceDetail;

    /**
     * 站点id
     */
    private Integer parkId;

    /**
     * 站点名称
     */
    @Excel(name = "站点名称", sort = 12, conditionBit = PerformanceExportField.PowerChange.parkName)
    private String parkName;

    /**
     * 换电首单时效(分钟)
     */
    @Excel(name = "换电首单时效", sort = 10, suffix = "分钟", conditionBit = PerformanceExportField.PowerChange.firstOrderTime)
    private Integer firstOrderTime;

    /**
     * 换电24小时订单数
     */
    @Excel(name = "换电24小时订单数", sort = 11, conditionBit = PerformanceExportField.PowerChange.orderCountAfterChange)
    private Integer orderCountAfterChange;

    /**
     * 区域id
     */
    private Integer accountId;

    /**
     * 分区id
     */
    private Integer regionId;

    /**
     * 运维人员id
     */
    private Integer accountUserId;

    /**
     * 换电时间
     */
    @Excel(name = "日期", sort = 1, dateFormat = "yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime changeTime;

    /**
     * 车辆编号
     */
    @Excel(name = "车辆编码", sort = 2)
    private String userCode;
    /**
     * 车辆类型
     * 0-电单车 1-自行车
     */
    @Excel(name = "车辆类型", sort = 3, readConverterExp = "0=电单车,1=自行车")
    private Integer machineType;
    /**
     * 运维人员姓名
     */
    @Excel(name = "运维人姓名", sort = 4)
    private String accountUserName;
    /**
     * 运维人员手机
     */
    @Excel(name = "运维人手机号", sort = 5)
    private String accountUserPhone;
    /**
     * 换电区间
     */
    @Excel(name = "换电区间", sort = 6)
    private String powerRange;
    /**
     * 换电前电量
     */
    @Excel(name = "换电前电量", sort = 7)
    private Integer oldSoc;
    /**
     * 换电后电量
     */
    @Excel(name = "换电后电量", sort = 8)
    private Integer newSoc;
    /**
     * 换电前后电量差值
     */
    @Excel(name = "换电前后电量差值", sort = 9, conditionBit = PerformanceExportField.PowerChange.socDiff)
    private Integer socDiff;
    /**
     * 备注
     */
    @Excel(name = "备注", sort = 15)
    private String remark;
}
